const list = [
    {lang: 'nodejs'},
    {lang: 'golang'},
    {lang: 'php'},
    {lang: 'nodejs'},
    {lang: 'php'},
    {lang: 'php'}
]
// 定义存储最终结果的对象
const counts = {}
// 方法 1
list.forEach(item => {
    // 获取元素内的lang
    const lang = item.lang
    // 判断对象 counts 中是否已经存在语言名对应的属性，如存在则+1，否则值为1
    counts[lang] = (counts[lang] || 0) + 1
})
console.log(counts)
// 方法 2
const counts2 = list.reduce((acc, item) => {
    const lang = item.lang
    acc[lang] = (acc[lang] || 0) + 1
    return acc
}, {})
console.log(counts2)